Using Software Metrics to Evaluate Static Single Assignment Form in GCC

نویسندگان

  • Jeremy Singer
  • Christos Tjortjis
  • Martin Ward
چکیده

Over the past 20 years, static single assignment form (SSA) has risen to become the compiler intermediate representation of choice. Compiler developers cite many qualitative reasons for choosing SSA. However in this study, we present clear quantitative benefits of SSA, by applying several standard software metrics to compiler intermediate code in both SSA and non-SSA forms. The average complexity reduction achieved by using SSA in the GCC compiler is between 32% and 60% according to our software metrics, over a set of standard SPEC benchmarks.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Efficiently Building the Gated Single Assignment Form in Codes with Pointers in Modern Optimizing Compilers

Understanding program behavior is at the foundation of program optimization. Techniques for automatic recognition of program constructs characterize the behavior of code fragments, providing compilers with valuable information to guide code optimizations. The XARK compiler framework provides a complete, robust and extensible solution to the automatic recognition problem that was shown to be eff...

متن کامل

Tree SSA – A New High-Level Optimization Framework for the GNU Compiler Collection∗

In this paper we introduce Tree SSA, a new optimization framework for the GNU Compiler Collection (GCC) based on the Static Single Assignment form. The paper provides a brief historical perspective on GCC’s development, the rationale behind the new framework and its potential applications. We will also discuss some of the analyses and optimizations that are being designed and implemented on top...

متن کامل

Tree SSA A New Optimization Infrastructure for GCC

Tree SSA is a new optimization framework based on the Static Single Assignment (SSA) form that operates on GCC’s tree representation. Tree SSA is designed to be both language and target independent and allow highlevel analyses and transformations that are difficult or impossible to implement with RTL. One of the main goals of the project is to produce an analysis and optimization infrastructure...

متن کامل

Compiling for a multithreaded dataflow architecture : algorithms, tools, and experience. (Compilation pour une architecture multi-thread à flot de données : algorithmes, outils et retour d'expérience)

Across the wide range of multiprocessor architectures, all seem to share one common problem: they are hard to program. It is a general belief that parallelism is a software problem, and that perhaps we need more sophisticated compilation techniques to partition the application into concurrent threads. Many experts also make the point that the underlining architecture plays an equally important ...

متن کامل

Automatic translation of C/C++ parallel code into synchronous formalism using an SSA intermediate form

We present an approach for the translation of imperative code (like C, C++) into the synchronous formalism Signal, in order to use a model-checker to verify properties on the source code. The translation uses Ssa as an intermediate formalism, and the GCC compiler as a front-end. The contributions of this paper with respect to previous work are a more efficient translation scheme, and the manage...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009